XSGISetStereoMode
- Man Page
XSGISTEREO(3X11) X Version 11 (Release 6) XSGISTEREO(3X11)
NAME
XSGIStereoQueryExtension, XSGIStereoQueryVersion,
XSGIQueryStereoMode, XSGISetStereoMode, XSGISetStereoBuffer
- X SGI stereo functions
SYNTAX
#include <X11/extensions/SGIStereo.h>
Bool XSGIStereoQueryExtension (
Display * dpy,
int * first_event,
int * first_error);
Status XSGIStereoQueryVersion (
Display * dpy,
int * major_version,
int * minor_version);
int XSGIQueryStereoMode(
Display * dpy,
Window win);
Status XSGISetStereoMode (
Display *dpy,
Window win,
unsigned short height,
unsigned short offset,
int mode);
Status XSGISetStereoBuffer (
Display *dpy,
Window win,
int buffer);
ARGUMENTS
dpy Specifies the connection to the X server.
first_event
Returns the code of the first custom event type
created by the extension.
first_error
Returns the code of the first custom error defined
by the extension.
major_version
Returns major version number for the extension.
minor_version
Returns minor version number for the extension.
win Specifies the window on whose screen you want to
Page 1 (printed 3/9/96)
XSGISTEREO(3X11) X Version 11 (Release 6) XSGISTEREO(3X11)
set or inquire the stereo mode.
height
offset Specify the height of each stereo buffer, and the
vertical offset between each stereo buffer.
mode Specifies the stereo mode to be set. Valid values
are STEREO_OFF (0) to turn off stereo,
STEREO_BOTTOM (1) to turn on stereo and use the
bottom half of the screen as the primary buffer,
STEREO_TOP (2) to turn on stereo and use the top
half of the screen as the primary buffer.
buffer Identifies which buffer the GL will render to.
DESCRIPTION
XSGIStereoQueryExtension is used to check whether the X
server supports the SGI Stereo extension. If the Stereo
extension is present, this routine will return True. If the
extension involves additional event types, the base event
type code is returned in first_event. Otherwise, zero is
returned in first_event. If the extension involves
additional error codes, the base error code is returned in
first_error. Otherwise, zero is returned. If the SGI Stereo
extension is present, you must still query the individual
screens to find out if they support the extension, using
XSGIQueryStereoMode.
XSGIStereoQueryVersion is used to get the version number of
the Stereo extension supported by the X server.
XSGIQueryStereoMode is used to query the server for the
current stereo mode. If the server supports the SGI Stereo
extension, but win's screen does not, this routine will
return X_STEREO_UNSUPPORTED (-1). If win's screen supports
the SGI Stereo extension, this routine will return one of
STEREO_OFF (0), STEREO_BOTTOM (1) or STEREO_TOP (2).
XSGIQueryStereoMode can generate BadDrawable.
XSGISetStereoMode is used to inform the X server that full-
screen stereo is being turned on or off. It does not cause
the actual video timing to change. Rather, if turning on
stereo, this procedure informs the server that all future X
rendering is to be duplicated from the primary buffer to the
secondary buffer. Calling this procedure also causes the
cursor to be restricted to the primary buffer. Non-stereo GL
clients will render to the left eye, with the right eye
cleared to black.
Conversely, if turning off stereo, this procedure informs
Page 2 (printed 3/9/96)
XSGISTEREO(3X11) X Version 11 (Release 6) XSGISTEREO(3X11)
the server to return to the normal state, with X rendering
allowed to the full screen and unrestricting the cursor.
If turning on stereo, height and offset describe the height
of each stereo buffer and the vertical offset between
buffers. Typically, these values should be 492 and 532
respectively. height and offset are ignored if turning off
stereo.
Stereo is turned off by setting mode to STEREO_OFF (0), and
is turned on by setting mode to STEREO_BOTTOM or STEREO_TOP
(1 or 2 respectively). Setting mode to STEREO_BOTTOM causes
the bottom half of the screen to become the primary buffer,
setting it to STEREO_TOP causes the top half of the screen
to become the primary buffer. To switch from using the top
half of the screen as the primary buffer to using the bottom
half of the screen as the primary buffer, XSGISetStereoMode
should first be called with mode set to STEREO_OFF.
NOTE: The application will not normally call this procedure.
Instead, it will call setmonitor, which will update both the
X server state and the actual video format.
XSGISetStereoMode can generate BadDrawable and BadRequest.
XSGISetStereoBuffer is used to inform the X server of which
eye buffer the GL will render to next. The first time it's
called for a window, it also informs the server that the
window is a stereo window. buffer identifies which buffer
to set up. Valid values are STEREO_BUFFER_LEFT and
STEREO_BUFFER_RIGHT. If stereo mode is turned on (by calling
XSGISetStereoMode), a call to XSGISetStereoBuffer will cause
the X server to set the clip and window origin appropriately
for the GL client.
XSGISetStereoBuffer can generate BadDrawable and BadValue
errors.
Applications calling one of these routines should link with
libXext.
SEE ALSO
setmon, setmonitor, viewport, winset
Page 3 (printed 3/9/96)